package com.yc.thread.basic;

/**
 * 中断线程及检测线程中断
 * @author zwei
 * @create 2024-07-14 14:12
 */
public class Test6_Interrupt {
    public static void main(String[] args) {

        //通过interrupted()方法检测线程是否被中断
//        Thread.currentThread();    //主线程
        System.out.println(Thread.currentThread().getName()+"线程是否中断"+Thread.interrupted());

        //设置main线程  中断信号
        Thread.currentThread().interrupt();;

        //main线程
//        Thread.currentThread().stop();//不能用stop()中止线程  很黄很暴力


        //通过interrupted()方法检测线程是否中断  interrupted()也可以检测中断  同时还可以清除中断状态
        System.out.println(Thread.currentThread().getName()+"线程是否中断"+Thread.interrupted());//返回true后 回复状态
        //检测interrupted()是否会清除线程状态
        System.out.println(Thread.currentThread().getName()+"线程是否中断"+Thread.interrupted());



        //对比  isInterrupted()  isInterrupted()检测此线程是否中断  但不会清除中断状态
        //检测当前线程是否被中断
        System.out.println(Thread.currentThread().getName()+"线程是否中断"+Thread.currentThread().isInterrupted());//true
        //检测线程中断状态是否被清除
        System.out.println(Thread.currentThread().getName()+"线程是否中断"+Thread.currentThread().isInterrupted());

    }
}
